package com.pjedu.nbmallshop.service;

import com.alipay.api.AlipayApiException;

import java.util.Map;

/** 支付相关功能 */
public interface PayService {
    /**
     *  支付宝对接 - 生成待支付表单
     * @param orderNo
     * @return 返回跳转支付宝的表单内容
     */
    public String aliapyForm(String orderNo);

    /**
     * 收到支付宝即时传过来的支付完毕信息，不代表真的扣钱了，只能说用户在支付宝端操作完毕。
     * <p>【异步】要以支付宝的异步服务端通知为准，才能代表钱真正到你的账户上面<p/>
     * <p>【同步校验】你可以用代码主动查询支付宝对应交易的情况</p>
     * TODO 因为支付宝异步通知需要公网接口，我这个方法采用同步查询的方式，同步查询可能
     * @return 返回对应订单号，代表钱到账了。返回空，代表订单可能支付了，但是还查不到结果。
     * @throws  AlipayApiException 抛异常代表支付可能失败
     */
    public String alipayCheck(Map<String, String> params) throws AlipayApiException;
}
